package haust;

public interface Client
{
	/**
	 * 
	 * @return true on success, or false on fail
	 */
	public int Initialize();
	
	/**
	 * 
	 */
	public void Deinitialize();
	
	/**
	 * 
	 * @param fDelta This value is the duration in seconds since the last frame. 
	 */
	public void Update(float fDelta);
	
	/**
	 * 
	 */
	public void Render();
	
	/**
	 * Will setup the perspective according to these three values
	 * RENDER_NORMAL = 0
	 * Normal Rendering
	 * 
	 * RENDER_3D_REDBLUE = 1
	 * Anaglyph 3D rendering
	 * 
	 * RENDER_3D_PASSIVE = 2
	 * Stereo 3D rendering
	 * 
	 * @return
	 */
	public int getRenderMode();
	
	/**
	 * The client will be destroyed if this returns true
	 * @return 
	 */
	public boolean getExitFlag();
}